Docker compose nos permite levantar varios containers y hacer que esten conectados entre si
Para levantar varios containers usando docker compose primero necesitamos crear un archivo docker-compose.yml.
Un ejemplo de docker-compose.yml es el siguiente:
version: '3'
services:
skill-matrix-mysql:
image: mysql:5
restart: on-failure
volumes:
- ./skill-matrix-db:/var/lib/mysql
- ./skill-matrix-init-db:/docker-entrypoint-initdb.d
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_DATABASE=skill_matrix
- MYSQL_USER=UserSkillmatrix
- MYSQL_PASSWORD=team2passwordforskillmatrix.
ports:
- 3306:3306
skill-matrix-api:
image: team2postacademy/api_skill_matrix
restart: on-failure
depends_on:
- skill-matrix-mysql
ports:
- 8080:8080
environment:
- DATABASE_HOST=skill-matrix-mysql
- DATABASE_USER=UserSkillmatrix
- DATABASE_PASSWORD=team2passwordforskillmatrix.
- DATABASE_NAME=skill_matrix
- DATABASE_PORT=3306
En este compose, estamos definiendo dos contenedores uno con un servidor mysql y otro que contiene una aplicacion spring que se conecta a la base de datos mysql
Para levantar los contenedores tenemos que ejecutar el siguiente comando en la carpeta donde tengamos el docker-compose.yml:
docker-compose up
Si queremos detener los contenedores ejecutamos el siguiente comando:
docker-compose down
Si solo queremos detenerlos momentaneamente usamos
docker-compose stop
Y para volver a arrancarlos:
docker-compose start
Algunos de los parametros que podemos usar en el docker-compose.yml son los siguientes:
CARPETA_HOST:CARPETA_CONTAINER
PUERTO_HOST:PUERTO_CONTAINER
Docker compose | comandos